<?php
/**
* @Entity
* @Table(name="projetos")
*/
class Projetos
{
    public function __construct()
    {
        $this->data_criacao = new \DateTime( "now" );
        $this->data_criacao->setTimezone( new \DateTimeZone( 'UTC' ) );
        $this->prazo = new \DateTime( "now" );
        $this->prazo->setTimezone( new \DateTimeZone( 'UTC' ) );
        
        $this->casos = new \Doctrine\Common\Collections\ArrayCollection();
        $this->usuarios = new \Doctrine\Common\Collections\ArrayCollection();
        //$this->suites = new \Doctrine\Common\Collections\ArrayCollection();
    }
    /**
    * @Id @Column(type="integer")
    * @GeneratedValue(strategy="AUTO")
    */
    public $id_projeto = 0;
    /**
    * @Column(type="string", columnDefinition="VARCHAR(255) NOT NULL")
    */
    public $nome = 0;
    /**
    * @Column(type="date")
    */
    public $data_criacao = '';
    /**
    * @Column(type="date", nullable=true)
    */
    public $prazo = '';
    /**
    * @Column(type="integer", nullable=false)
    * @OneToMany(targetEntity="SuitesTestes")
    * @JoinColumn(name="id_suite_teste", onDelete="RESTRICT")
    */
    public $id_suite_teste = 0;
    /**
    * @Column(type="integer", nullable=false)
    * @OneToMany(targetEntity="ProjetosStatus")
    * @JoinColumn(name="id_projeto_status", onDelete="RESTRICT")
    */
    public $id_projeto_status = 0;
    /**
    * @Column(type="text", nullable=true)
    */
    public $observacao = '';
    /**
     * @ManyToMany(targetEntity="Usuarios", mappedBy="projetos")
     * @OrderBy({"login" = "ASC"})
     */
    private $usuarios;
    /**
     * @ManyToMany(targetEntity="CasosTestes")
     * @JoinTable(name="projetos_casos",                                  
     *      joinColumns={@JoinColumn(name="id_projeto", referencedColumnName="id_projeto")},
     *      inverseJoinColumns={@JoinColumn(name="id_caso_teste", referencedColumnName="id_caso_teste")}
     *      )
     * @OrderBy({"nome" = "ASC"})
    */
    private $casos;
        
    public function get_id_projeto() {
        return $this->id_projeto;
    }

    public function get_nome() {
        return $this->nome;
    }

    public function get_data_criacao() {
        return $this->data_criacao;
    }

    public function get_prazo() {
        return $this->prazo;
    }

    public function get_id_projeto_status() {
        return $this->id_projeto_status;
    }

    public function get_observacao() {
        return $this->observacao;
    }

    public function set_id_projeto( $id_projeto ) {
        $this->id_projeto = $id_projeto;
    }

    public function set_nome( $nome ) {
        $this->nome = $nome;
    }

    public function set_data_criacao( $data_criacao ) {
        $this->data_criacao = $data_criacao;
    }

    public function set_prazo( $prazo ) {
        $this->prazo = $prazo;
    }

    public function set_id_projeto_status( $id_projeto_status ) {
        $this->id_projeto_status = $id_projeto_status;
    }

    public function set_observacao( $observacao ) {
        $this->observacao = $observacao;
    }
    
    public function get_usuarios() {
        return $this->usuarios;
    }

    public function addUsuario( Usuarios $usuario ) {
        $this->usuarios[] = $usuario;
    }
    
    public function get_casos() {
        return $this->casos;
    }

    public function addCaso( Casos $caso ) {
        $this->casos[] = $caso;
    }
    
    public function get_id_suite_teste() {
        return $this->id_suite_teste;
    }

    public function set_id_suite_teste( $id_suite_teste ) {
        $this->id_suite_teste = $id_suite_teste;
    }
}
/* End of file Projetos.php */
/* Location: ./application/models/Entities/Projetos.php */